home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
editor
/
proged10.lha
/
InstallProgED
/
sources
/
PED_Scan
/
ScanDefine.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-24
|
1KB
|
67 lines
/***** Include vari *****/
#include "ProgED:sources/include/Ped.h"
/*****
*
* FUNZIONE: ULONG SAVEDS ASM main(char *line,char *sectionname)
*
* SCOPO: Cerca un riferimento ad un #define nella linea puntata
* da "line". Il nome del riferimento viene copiato in
* "sectionname".
*
* NOTA: Utilizza SEMPRE la funzione geta4() o la direttiva __saveds!
*
* RESTITUISCE: Lunghezza della stringa copiata in "sectionname".
* 0=riferimento non trovato.
*
****/
ULONG SAVEDS ASM main(RG(a0) char *line,RG(a1) char *sectionname)
{
char *p,
*q,
*d;
int i;
/***** Controlla se la linea inizia per '#define' *****/
p=line;
if (*p)
{
if (p[0]=='#')
if (p[1]=='d')
if (p[2]=='e')
if (p[3]=='f')
if (p[4]=='i')
if (p[5]=='n')
if (p[6]=='e')
{
/***** Se si, salta fino a trovare la prossima
parola saltando spazi e TAB *****/
p+=7;
while((*p==32)||(*p==9)) p++;
/***** Copia la parola fino al prossimo spazio
o TAB o '(' e ritorna in D0 la lunghezza. *****/
if (*p)
{
q=p;
while((*q!=32)&&(*q!=9)&&(*q!='(')&&(*q)) q++;
d=sectionname;
for(i=0;i<q-p;i++) *d++=p[i];
*d='\0';
return(q-p);
}
}
}
/***** Nulla da fare! *****/
return(0);
}